Rasterschlüssel 44

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

Rasterschlüssel 44 (RS44) (от нем. Raster — сетка, растр и Schlüssel — ключ) — ручная техника шифрования, заменившая применявшийся прежде шифр «двойной квадрат» (нем. Doppelkastenschlüssel, также известный как шифр Уитстона)[1][2]. RS 44 использовался вооружёнными силами нацистской Германии, начиная с марта 1944 года[3][4][5].

История

Шифр использовался низшим командованием вермахта, ввиду того, что оно не имело в распоряжении никакой шифровальной машины, в отличие от среднего и высшего командования (штабы дивизий и выше), которое пользовалось Энигмой[6]. Для низшего командования, включавшего в себя штабы рот и батальонов и находящегося в основном на командно-наблюдательных пунктах, было необходимо применять технику шифрования текста вручную — «карандашом на бумаге». С 1941 года в сухопутных войсках стали применять шифровальную технику двойных квадратов.

Ввиду постоянно угрожающей опасности вторжения с Запада, укрепляющегося осознания угрозы и необходимости иметь возможность обмениваться секретными сведениями с командно-наблюдательными пунктами, по приказу Шифровального Центра вермахта 27 марта 1944 года в сухопутных и воздушных войсках был внедрён RS 44. Начиная с 18 октября того же года, был внедрён упрощённый RS 44. Процедура была необходимой в силу того, что прежние инструкции толковались двояко, служащие допускали слишком много ошибок при шифровании, а радисты — при передаче сообщения[4][7].

Над взломом шифра в Блетчли-парке работало в разное время до 150 человек. В нём криптоаналитик Джон Тилтман прочитал десятидневный курс об уязвимостях и подходах к дешифрованию RS44. Так, по захваченным шаблонам британцам требовалось не больше часа, чтобы найти начальную клетку, оставшаяся часть расшифровывалась по рассказанному алгоритму. В августе 1944 года пришел первый успех: удалось восстановить однодневный шаблон и дешифровать 30 сообщений, присланных за сутки. Однако не всегда получалось уложиться в требуемые сроки, и информация теряла свою актуальность. В среднем, было необходимо две недели на успешную дешифровку сообщения. Американские коллеги выделили 20 служащих для взлома RS44, что было недостаточно для потока из тысячи сообщений в сутки[8]. Таким образом считалось, что шифр нельзя взломать, пока передающая сторона не допустит ошибки, снижающей его криптостойкость[9].

Описание RS44

Заголовок

Заголовок зашифрованного сообщения содержал в себе время отправления в формате ЧЧ:ММ, затем шло количество символов в сообщении — от 60 до 200, и завершал заголовок индикатор, то есть четыре неповторяющихся буквы латинского алфавита[10][11].

В случае превышения лимита символов, сообщение полагалось разбить на два независимых зашифрованных сообщения. Если же сообщение содержало меньше 60 символов, в него добавляли случайное слово (Wahlwort) или несколько слов. Чтобы отделить это слово от содержательной части послания, две последних буквы в предшествующем слове и две первых буквы в последующем по отдельности дублировались. Например, Tanneenn Das ist die geheime Nachricht ggeehen, где строка Das ist die geheime Nachricht была секретным сообщением, Tannen и gehen — случайными словами, которые перешли в Tanneenn и ggeehen соответственно.

Четыре буквы в конце заголовка являлись двумя зашифрованными и случайно выбранными биграммами, составленными из букв a, b, c, d, e. Биграммы шифровались при помощи вспомогательной таблички под решеткой (см. таблицу 1)[12][13].

Таблица 1 (биграммная)
a b c d e
y v f x g
q u j r c
s k t b w
p h d n a
m o i l e

Каждая буква из биграммы заменялась на любую из пяти, стоящих в соответствующем столбце. Если буквы в биграммах повторялись, по тем же правилам бралась другая буква, отличная от уже взятой. На самом деле, при шифровании биграмм caeb можно взять fpgu, равно как и jmwv. Если необходимо зашифровать bddd, то можно выбрать uxln или hbrx и т. д.[источник не указан 2696 дней]

При декодировании по вспомогательной табличке биграммы однозначно восстанавливаются. Таким образом, заголовок мог представлять собой строку 1804 — 113 — fpgu, что обозначало время отправки сообщения (18:04), количество символов в шифрограмме (113), тип зашифрованной биграммы (caeb).

Подготовка исходного текста

Прежде чем шифровать текст непосредственно решёткой, нужно было его преобразовать. Определённые слова и символы шифровались следующим образом:

Буквосочетания «ck» и «ch» заменялись на «q», умлауты тоже заменялись: ä — «ae», Ö — «oe», Ü — «ue», ß — «sz».

Цифры записывались полными немецкими словами, за исключением 2 — «zwo», а не «zwei».

Римские цифры обозначились приставкой «roem». Например, IV — «roemeinsfuenf».

Числительные назывались по цифре, исключения составляли следующие числа:

10, 11, 20, 30, 40, 50, 60 ,70 ,80, 90, 100, 1000 — писались в соответствии с оговорёнными правилами написания букв и буквосочетаний.

12 уже писалось как «eins zwo», 0850 — «nullaqtfuenfnull».

Если стояло больше одного нуля подряд, то происходила замена 00 — «zenta», 000 — «mille», 0000 — «miria». Например, 800 000 — «aqtzentamille или aqtmillezenta».

Знаки пунктуации следовало заменять следующими словами:

  • кавычки (Klammer) — «klam»;
  • вопросительный знак (Fragezeichen) — «fraq»;
  • запятая (Komma) — «koma»;
  • точка (Punkt) — «stop».

Пробел — «x» — использовался только в целях однозначно определить написанное или при необходимости записать время. В этом случае следовало разделять часы и минуты символом «x». Во всех остальных случаях текст шифровался без промежутков.

Географические названия реальных мест необходимо было шифровать при помощи специальной прилагаемой таблички, где каждой исходной букве ставилась в соответствие буква из таблицы, аналогично шифрованию биграммы. В шифрованном тексте перед названием ставилось «aa», а после «ee». Для исключения ошибок зашифрованный текст повторялся дважды[14].

Шифрование сообщения

Выбор начальной клетки

Первым шагом необходимо было выбрать начальную клетку. Это делалось случайным образом, а начальная клетка записывалась в заголовок сообщения двумя зашифрованными биграммами. Так как трафарет выдавался на сутки[15], а передавать за это время требовалось более одного сообщения, то были приняты следующие ограничения на выбор начальной клетки: в первый раз клетка выбиралась произвольно, а биграммы, указывающие на эту клетку, вычеркивались на трафарете косой чертой слева направо и снизу вверх. Последующие начальные клетки обязывали аналогично вычеркивать соответствующие им биграммы. В случае, если выбранная строка или столбец уже содержала перечеркнутую биграмму, эти буквы перечёркивались вновь, и в следующий раз эту позицию использовать было запрещено. Когда все пары букв были дважды зачеркнуты, разрешалось взять любую биграмму в качестве определяющей первую клетку[13].

Структура трафарета

Служащие, которые должны были шифровать текст, получали шаблонный трафарет, который заменяли ежедневно[4][6]. Трафареты выдавались партиями по 31-32 штуки на следующий месяц в середине текущего, однако напрямую служащим они попадали в руки в день (в крайнем случае за день до) отправки сообщения[16]. Трафарет состоял из 25 столбцов и 24 строк[17]. Каждая строчка должна была содержать ровно 10 пустых клеток, расположенных случайно. Строчки нельзя было повторять, равно как и столбцы. Оставшиеся клетки полностью закрашивались[18][19][12]. Подготовленный текст сообщения вписывался только в белые клетки, слева направо. Начальная клетка была зашифрована в биграмме заголовка сообщения. В случае, если начальная клетка оказывалась чёрной, запись начинались с ближайшей правой белой клетки трафарета. Если текст сообщения доходил до конца трафарета, то его продолжение нужно было писать начиная с самой первой пустой клетки сверху[11].

Составление итоговой шифрограммы

Начальная колонка (пронумерованный столбец в трафарете) служила индикатором того, откуда после нанесения текста на трафарет следовало начинать списывать символы в итоговое сообщение[чего?]. За её номер отвечали две цифры часов отправки сообщения. Возьмём указанный ранее заголовок:

1804—113 — fpgu

Очевидно, номер начальной колонки — 18. Далее необходимо отсчитать вправо от указанного столбца количество столбцов, равное следующей сумме: это сумма цифр минут и количества символов сообщения. Для упомянутого заголовка посчитаем: (0+4) + (1+1+3) = 9. Двигаемся от 18 колонки на 9 позиций вправо, учитывая, что 18-я колонка отвечает за «раз». Таким образом, попадаем в колонку 24, и с этого столбца списываем сверху вниз буквы. Так и списывается, сначала 24-я колонка, потом 25-я, а затем пишется с 1-й по 23-ю.

Итоговое зашифрованное сообщение составлялось из блоков по пять букв.

После изменений от 18 октября 1944 года, вместо числа, отвечающего за часы отправки, в качестве определяющего начальную колонку стали использовать дополнительную. Она записывалась в конце заголовка[20].

Криптостойкость

Шифр считался вычислительно стойким в годы войны[21]. Статистика тех лет показала, что за апрель 1945 года из 12 000 полученных сообщений только 3 500 удалось прочесть, что составляет 29 %, в то время как аналогичные показатели для Энигмы были равны 79 %[22].

К факторам уязвимости можно отнести следующие:

  • Человеческий фактор: ошибки во время шифрования приводили к тому, что исправленное сообщение приходилось посылать снова с использованием того же шаблона. Послание отличалось от предыдущего всего несколькими символами. Менялась только начальная клетка[23].
  • Захват шаблонов: в случае попадания ключа в руки союзников, все сообщения расшифровывались по описанному алгоритму с использованием захваченного образца, пока передающая сторона не меняла его на новый.
  • Ограниченность ресурсов: для изготовления шаблона использовалось 36 различных готовых шаблонных рядов с 10 пустыми клетками в каждом. Из них было необходимо изготовить трафарет, состоящий из 24 строчек. Это приводило к повторам в новых экземплярах шаблонов[24][25].

Считалось, что для успешной дешифровки сообщения нужно было знать минимум 30-40 символов исходного текста. Для сравнения, 8-20 букв было достаточно для взлома Энигмы при помощи Turing Bombe[26][8].

Примечания

  1. Friedrich L. Bauer, 2000, с. 68.
  2. Cowan, 2004, с. 124.
  3. 3,0 3,1 Friedrich L. Bauer, 2000, с. 102..
  4. 4,0 4,1 4,2 Cowan, 2004, с. 119.
  5. 5,0 5,1 OKW, 1944, с. 12.
  6. 6,0 6,1 Beckh, 2005, с. 200.
  7. Schmeh, 2008, с. 47.
  8. 8,0 8,1 Schmeh, 2008, с. 46.
  9. Clabby, 2007, с. 43.
  10. OKW, 1944, с. 4.
  11. 11,0 11,1 OKW, 1944, с. 9.
  12. 12,0 12,1 OKW, 1944, с. 8.
  13. 13,0 13,1 OKW, 1944, с. 10.
  14. OKW, 1944, с. 5-7.
  15. Tiltman, 1957—1965, с. 103.
  16. Cowan, 2004, с. 122.
  17. Schmeh, 2008, с. 42.
  18. Ulbricht, 2005, с. 44.
  19. Cowan, 2004, с. 117.
  20. OKW, 1944, с. 21.
  21. Cowan, 2004, с. 133.
  22. Cowan, 2004, с. 130.
  23. Schmeh, 2008, с. 45.
  24. Cowan, 2004, с. 125.
  25. Schmeh, 2008, с. 44.
  26. Cowan, 2004, с. 134.
  27. Cowan, 2004, с. 135-139.

Литература

  • Klaus Schmeh. Codeknacker gegen Codemacher. Die faszinierende Geschichte der Verschlüsselung. — 2-e изд. — Herdecke: W3L-Verlag, 2008. — ISBN 978-3-937137-89-6.
  • Joachim Beckh. Blitz & Anker: Informationstechnik — Geschichte und Hintergründe, том 2. — BoD GmbH, 2005. — ISBN 978-3833429972.